import json
from home.models import Article, ArticleCategory
from django.http import HttpResponseRedirect

def common_date(request):
    # 1、获取所有的文字分类数据
    categories = ArticleCategory.objects.all()
    # 2、获取被选中的类型id
    cat_id = request.GET.get('cat_id')
    # 3、根据被选中的id获取被选中的文字类型
    try:
        category = ArticleCategory.objects.filter(id=cat_id).first()
    except ArticleCategory.DoesNotExist:  # 如果没有查询到指定数据，那么就是用默认值
        return HttpResponseRedirect('此分类信息不存在')
    # 4、根据被选中的文章分类信息显示他下的所有文章
    articles = Article.objects.filter(category=category)
    news_art = Article.objects.order_by('-create_time')[:3]
    #重新查询文章信息，按照浏览量降序排序（热门标签）
    hot_tags = Article.objects.values('tags').order_by('-total_views').distinct()[:5]

    if request.COOKIES.get('login_name') is not None:
        username = json.loads(request.COOKIES.get('login_name'))
    else:
        username = ""

    return {
        "newArt":news_art,
        "hotTags":hot_tags,
        'categories': categories,
        'category': category,
        'articles': articles,
        'username':username,
    }
